GnuPG und PGP

Grundlagen zu GnuPG und PGP

Einleitung

Jeder RegAcc muss mindestens einen Key bei DENIC hinterlegen.

Was ist GnuPG / PGP?

PGP (Pretty Good Privacy) / GnuPG (eine Open Source Open PGP Implementation) sind Programme, die es erlauben, E-Mails, Texte und Dateien zu signieren sowie zu verschlüsseln. Es gilt als sehr sicher und erlaubt daher eine sichere Kommunikation zwischen mehreren Parteien.

Unterstützte Versionen

DENIC unterstützt alle GnuPG und PGP Versionen.

Was sind Keys und wie sind Sie aufgebaut?

Ein Key besteht immer aus zwei Teilen:

  • dem öffentlichen Schlüssel („Public Key“) und
  • dem privaten Schlüssel („Private Key“).

Aufgrund des asymmetrischen Verschlüsselungsverfahrens hat jeder Benutzer zwei zusammengehörende Schlüssel (Public und Private Key). Aus dem gewählten Passwort bildet GnuPG bzw. PGP einen Hash-Wert – den sogenannten geheimen Schlüssel – aus dem wiederum der private Schlüsselteil generiert wird.

Mit dem privaten Schlüssel ist es unter anderem möglich, Nachrichten zu signieren und zu entschlüsseln.

Mit dem öffentlichen Schlüssel können Nachrichten verifiziert und verschlüsselt werden.

Jeder Key beinhaltet verschiedene Informationen, zum Beispiel:

Länge Schlüssellänge des Keys, z.B. 2048 Bit
Typ Beispiel: DSA und ElGamal
KeyID Eindeutige ID des Schlüssels, zum Beispiel 0x00F555A
Erstellungsdatum Im Format yyyy-mm-dd
Name Beispiel: DENIC-1000002 Produktions-Kommunikations-Key
E-Mail Beispiel: example@denic.de
Fingerprint Fingerabdruck des Keys, der in Verbindung mit der KeyID eine eindeutige Identifizierung ermöglicht
Expire falls vorhanden: Gültigkeitsdatum des Keys

 

Sehen wir uns als Beispiel einen Key an:

sheridan@babylon5-xs2:~/ $ gpg --fingerprint F81AE61F
pub 2048D/F81AE61F 2001-12-11 [verfällt: 2002-12-11]
   Schl.-Fingerabdruck = 4943 3AA7 6A85 306E 23A4 A1AC D4B9 6CF6 F81A E61F
uid          Business Services <example@denic.de>
uid          DENICoperations <ops@denic.de>
uid          Public Relations <presse@denic.de> sub
2048g/839B30DB 2001-12-11 [verfällt: 2002-12-11]

 

In diesem Beispiel sind:

  • Länge: 2048 Bit
  • Typ: DSA (symbolisiert durch das "D" in 2048D; bei RSA-Keys stünde hier z.B. 2048R)
  • KeyID: 0xF81AE61F
  • Erstellungsdatum: 2001-12-11 (im Format YYYY-MM-DD)
  • Name: Business Services
  • E-Mail: example@denic.de
  • Fingerprint: 4943 3AA7 6A85 306E 23A4 A1AC D4B9 6CF6 F81A E61F
  • Expire: Der Key verfällt 2002-12-11

GnuPG / PGP speichern die Schlüssel im sogenannten Schlüsselbund ("Keyring") ab.

In der Regel besteht der Keyring aus den Dateien "pubring.pkr" und "secring.pkr" (PGP) bzw. pubring.gpg und secring.gpg in $HOME/.gnupg/ (GnuPG).

 

Master- und Kommunikations-Keys

DENIC unterscheidet zwischen zwei Arten von Schlüsseln:

  • Master-Key
  • Kommunikations-Key

 

Der Master-Key dient zur

  • Signierung von E-Mails, um den Zugang zum Registrar Administration Interface (RAI) bei DENIC Business Services zu veranlassen
  • Autorisierung von Änderungen an der hinterlegten RAI-Info-E-Mail-Adresse an die DENIC Benachrichtigungen über Änderungen am RegAcc-Profil sendet.
  • Autorisierung bei der Bestellung zusätzlicher RegAccs/Kontingente
  • Autorisierung vom Anlegen für Zugänge zu den Mitglieder-Webseiten

 

Der Master- und Kommunikations-Key dient zur

  • Allgemeinen E-Mail-Kommunikation der Mitglieder mit DENIC

 

Funktion und Anforderungen an den Master-Key und Kommunikations-Key

Der Key dient zur Autorisierung und Identifizierung gegenüber DENIC eG bei der Auftragsbearbeitung und sonstiger E-Mail-Kommunikation. Jeder RegAcc muss mindestens einen Key bei DENIC hinterlegen.

  • Jeder Key muss eindeutig sein. Ein bereits genutzter Key kann nicht erneut verwendet werden.
  • Die Anzahl der erlaubten Keys ist nicht begrenzt
  • Alle Keys müssen mit einer Gültigkeitsdauer versehen sein, die maximal 731 Tage betragen darf. Nach Ablauf der Gültigkeitsdauer wird der Key aus dem Keyring der DENIC gelöscht und kann nicht mehr verwendet werden.
  • Als Schlüsselart muss DH/DSS, RSA, DSA oder DSA und Elgamal ausgewählt werden.
  • Die Schlüssellänge muss mindestens 2048 Bit betragen.
  • Die erlaubten Signaturalgorithmen für Aufträge sind:
    • RIPEMD160withRSA
    • RIPEMD160withECDSA
    • RIPEMD256withRSA
    • SHA256withDSA
    • SHA256withECDSA
    • SHA384withDSA
    • SHA384withECDSA
    • SHA512withDSA
    • SHA512withECDSA
    • SHA256withRSA
    • SHA384withRSA
    • SHA512withRSA
  • Jeder Key sollte mit einer sicheren Passphrase versehen sein.
  • DENIC empfiehlt, für jeden Key eine eindeutige Namensgebung bestehend aus RegAccId, RegAccName und ggf. Verwendungszweck zu wählen.
    • Beispiel: DENIC-99995 DENIC eG

 

Aktivierung eines Keys

Ein neuer Key kann über RAI eingepflegt werden. Eine Aktivierung des Keys erfolgt innerhalb von 5 Minuten.

 

Expire eines Keys

Abgelaufene Keys werden aus dem DENIC-Keyring gelöscht und werden im RAI nicht mehr angezeigt.

 

Löschen eines Keys

Wenn Sie einen Key aus dem DENIC-Keyring entfernen möchten (zum Beispiel, weil der Key kompromittiert wurde), können Sie ihn jederzeit über das RAI aus dem DENIC-Keyring entfernen.

 

Schritt-für-Schritt -Erstellen eines Keys mit PGP

Diese Anleitung bezieht sich auf PGP-Version 9.9.1.

  • Starten Sie PGP-Desktop.

 

  • Wählen Sie aus dem Menü "Datei" die Option "Neuer PGP-Schlüsse"l

  • Geben Sie den Namen der Person / Rolle ein, die den Key verwendet, sowie die entsprechende E-Mail-Adresse.

  • Klicken Sie auf "Erweitert".

  • Prüfen Sie, ob bei "Größe" mindestens 2048 angegeben ist.

  • Klicken Sie bei "Ablaufdatum" auf das Datum und geben Sie ein Datum ein, welches maximal 731 Tage in der Zukunft liegt.

  • Klicken Sie auf "OK" und im Anschluss auf "Weiter" und geben Sie nun ein sicheres Passwort ein.

  • Nach einem Klick auf "Weiter" wird Ihr Schlüsselpaar erzeugt.

  • Im Anschluss haben Sie nun noch die Möglichkeit Ihren Key auf einen öffentlichen Keyserver hochzuladen, sofern Sie das möchten.
  • Klicken Sie im Anschluss mit der rechten Maustaste auf Ihren Key.

  • Wählen Sie "Exportieren" aus.

  • Wählen Sie einen Speicherort aus und stellen Sie sicher, dass die Option "Private(n) Schlüssel einschließen" ausgewählt ist.

  • Speichern Sie die erzeugte Schüsseldatei an einem sicheren Ort.

HINWEIS

Beachten Sie, dass die Schlüsseldatei auch den privaten Schlüssel enthält. Bewahren Sie den privaten Schlüssel sorgfältig auf, da dieser zum Signieren verwendet wird.

Einbinden des Kommunikations-Keys über das Registrar Administration Interface (RAI)

  • Ein neuer Kommunikations-Key wird im RegAcc-Profil über RAI eingepflegt.
  • Detaillierte Informationen zum Thema RegAcc-Verwaltung und RAI sind in der folgenden Dokumentation beschrieben:
    • DENIC-22: Verwaltungsschnittstelle RAI.
  • Öffnen Sie die Schlüsseldatei mit einem Texteditor.
  • Markieren und kopieren Sie nur den Bereich des öffentlichen Schlüssels.

  • Fügen Sie den Textblock in RAI unter RegAccPGPKey ein und speichern Sie ab.

HINWEIS

Sie können den Key nach 5 Minuten nutzen.

Schritt-für-Schritt - Erstellen eines Keys mit GnuPG

Erstellen des Keys

Diese Anleitung bezieht sich auf GnuPG-Version 1.4.7. Erstellen Sie den Key wie folgt:

  • Linux
    Starten Sie eine Konsole (mittels ALT+F2 und geben Sie unter KDE konsole und unter GNOME gnome-terminal ein).
  • Windows
    Öffnen Sie ein Kommando-Fenster (Start -> Ausführen -> cmd).
  • Tippen Sie "gpg --gen-key".

  • Wählen Sie nun aus der entsprechenden Liste aus (DENIC empfiehlt entweder RSA und RSA oder DSA und Elgamal auszuwählen).
  • Geben Sie nun die Schlüssellänge ein. Bitte geben Sie mindestens 2048 bis maximal 4096 ein.

  • Geben Sie nun den Gültigkeitszeittraum für den Key ein:

    • Sie können die Gültigkeit in Tagen eingeben (Geben Sie zum Beispiel 10 für 10 Tage ein) oder
    • in Wochen (Geben Sie zum Beispiel 4w für 4 Wochen ein) oder
    • in Monaten (Geben Sie zum Beispiel 12m für 12 Monate ein) oder
    • in Jahren (Geben Sie zum Beispiel 2y für 2 Jahre ein).
    • HINWEIS

      DENIC empfiehlt die maximale Gültigkeit von zwei Jahren einzugeben.

  • Bestätigen Sie im Anschluss Ihre Eingabe.
  • Geben Sie den Namen der Person / Rolle ein, die den Key verwendet sowie die entsprechende E-Mail-Adresse.

  • Im Anschluss müssen Sie Ihre Eingabe noch einmal bestätigen.

  • Geben Sie nun ein sicheres Passwort ein. Im Anschluss wird der Key erstellt.

  • Sie können den Key nun exportieren in dem Sie "gpg -a --export <KeyID> > mykey.asc" tippen. Die KeyID finden Sie in der Zeile "pub", oben.

  • Exportieren Sie auch den privaten Schlüssel mit "gpg -a -- export-secret-keys <KeyID> > mysecretkey.asc".
  • Abschließend sollte das Schlüsselpaar an einem sicheren Ort abgelegt werden.

HINWEIS

Beachten Sie, dass die Schlüsseldatei den privaten Schlüssel enthält. Bewahren Sie den privaten Teil sorgfältig auf, da dieser zum Signieren verwendet wird.

Einbinden des Kommunikations-Keys über das Registrar Administration Interface (RAI)

  • Ein neuer Kommunikations-Key wird im RegAcc-Profil über RAI eingepflegt.
  • Detaillierte Informationen zum Thema RegAcc-Verwaltung und RAI sind in der folgenden Dokumentation beschrieben:
    • DENIC-22: Verwaltungsschnittstelle RAI.
  • Öffnen Sie die Schlüsseldatei mit einem Texteditor.
  • Markieren und kopieren Sie nur den Bereich des öffentlichen Schlüssels.

  • Fügen Sie den Textblock in RAI unter RegAccPGPKey ein und speichern Sie ab.

HINWEIS

Sie können den Key nach 5 Minuten nutzen.

Weiterführende Informationen zu GnuPG / PGP

Wichtige GnuPG-Befehle im Überblick

-s, --sign Signatur erstellen
--clearsign Klartextsignatur erstellen
-e, --encrypt Datei / E-Mail verschlüsseln
--decrypt [Datei] Datei entschlüsseln
--verify [Signatur] [Datei] Signatur verifizieren
--list-keys Alle Schlüssel auflisten
--list-public-keys Alle öffentlichen Schlüssel auflisten
--list-secrect-keys Alle privaten Schlüssel auflisten
--list-sigs Alle Schlüssel nebst Signatur auflisten
--check-sigs Wie --list-sigs, jedoch mit Verifizierung der Signaturen
--fingerprint Wie --list-keys, jedoch mit Ausgabe des Fingerprints
--gen-key Ein neues Schlüsselpaar erstellen
--delete-key Schlüssel aus dem Keyring entfernen
--delete-secret-key Public und Private Key aus dem Keyring entfernen
--export [KeyID] Öffentlichen Schlüssel exportieren
--export-secret-keys [KeyID] Privaten Schlüssel exportieren
--import Public Key in den Keyring importieren
-a, --armor Ausgabe in ‚ASCII-armor’
-o, --output [Datei] Ausgabe in Datei umleiten
-o [Datei] –a –export [KeyID] Public-Key als ASCII-armor in Datei ausgeben

Relevante RFCs zu GnuPG / PGP

RFC1321 The MD5 Message-Digest Algorithm
RFC2104 HMAC: Keyed-Hashing for Message Authentication
RFC3156 MIME Security with OpenPGP
RFC4880 OpenPGP Message Format